Java方法(三)方法返回值

您所在的位置:网站首页 java main定义 Java方法(三)方法返回值

Java方法(三)方法返回值

#Java方法(三)方法返回值| 来源: 网络整理| 查看: 265

上一节用到的方法都是无返回值的,我们现在来看一看有返回值的

public static int sum(){ return 1; //这里如果不写return的话,就会报“缺少返回语句” }

上边的代码中 int 就是返回值类型,这里不仅仅可以填int类型的,我们的基本数据类型(byte、short、int、float、double、boolean、char、String)和自定义类都可以。如果不需要返回任何数据,我们返回值类型直接写void关键字即可。

我们再来看看一段代码

public static int num(){ return 100; System.out.println("方法返回值"); }

大家看看上面这段代码可以这样写吗? 答案是肯定不能这样写的,软件直接给你报“执行不到的代码”的错,给我们的解决方法就是删除 我们来看看为什么会这样,因为当调用这个方法时,执行到return这里的时候,它就返回到调用者那里了,这个方法就调用结束,所以在return语句后面是不能再写其它代码的。

public static int sum(){ boolean flag = true; if(flag){ return 1; } }

再来看看上面这段代码,这样写的话软件也是直接报“*这个方法必须返回一个int类型的结果 *”的错,有些人感觉不对啊,我们这里不是已经return了一个1回去了吗,怎么还会报错,我们这个return1是在if判断语句中的,假设判断结果为false,那这个方法是不是就没有了返回值,所以我们不能这么写 只需要在if判断语句外面return一个int类型的就不会报错

public static int sum(){ boolean flag = true; if(flag){ return 1; } return 2; }

还可以这样写

public static int sum(){ boolean flag = true; if(flag){ return 1; }else{ return 2; } }

这样写也不会报错,因为if…else两个中必然会执行一个

public static void num(){ return 0; }

这段代码可以这样写吗?我们刚刚学习方法的返回值很容易碰到这样的错,答案是不能这样写的,因为我们这个方法中方法返回值是void(无返回值) 没有返回值我们不能强制给它一个返回值

public class MethodTest2 { public static void main(String[] args) { for(int i=1;i return;//结束方法的执行 } System.out.println(i); //执行结果为: 1 2 3 4 } System.out.println("hello java"); } }

return;是终止方法的执行,和我们之前学的break是不是觉得有点像,我们来一起对比一下

public class MethodTest2 { public static void main(String[] args) { for(int i=1;i break;终止循环 } System.out.println("i ="+i); } System.out.println("hello java"); } }

它就会输出1、2、3、4、hello java 有没有看出return;和break的区别来 总结:return; 结束方法的执行 而break;是终止循环的执行

上面列举了方法返回值会遇到的大部分的错误,我们现在来看看方法返回值如何使用

public class MethodTest3 { public static void main(String[] args) { int res = sum(4,6); //因为方法的返回值是int类型的,我们这边接收一下输出 System.out.println(res);//结果为:10 } public static int sum(int a,int b){ return a+b; } }

这边还有一个需要注意的细节 不仅仅只能用int类型接收,还可以用float、double接收,因为小转大程序会自动转,如果我们用byte接收的话就需要强转



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3